package com.rent.house.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.rent.house.pojo.entity.Collection;
import com.rent.house.pojo.entity.HouseResource;

/**
 * 收藏服务接口
 */
public interface CollectionService extends IService<Collection> {

    /**
     * 收藏房源
     * @param houseId 房源ID
     * @return 是否收藏成功
     */
    boolean collectHouse(Long houseId);

    /**
     * 取消收藏
     * @param houseId 房源ID
     * @return 是否取消成功
     */
    boolean uncollectHouse(Long houseId);

    /**
     * 检查是否已收藏
     * @param houseId 房源ID
     * @return 是否已收藏
     */
    boolean isCollected(Long houseId);

    /**
     * 我的收藏列表
     * @param pageNo 页码
     * @param pageSize 每页数量
     * @return 收藏列表
     */
    Page<Collection> getMyCollections(Integer pageNo, Integer pageSize);
    /**
     * 查询我收藏的房源
     * @param pageNo 页码
     * @param pageSize 每页数量
     * @return 房源分页列表
     */
    Page<HouseResource> getMyCollectionHouses(Integer pageNo, Integer pageSize);
}
